package spectral;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
public class IterableFile implements Iterable<String> {
private File file;
public IterableFile(String filename) throws IOException {
this(new File(filename));
}
public IterableFile(File file) throws IOException {
this.file = file;
}
public Iterator<String> iterator() {
ArrayList<String> lines = new ArrayList<String>();
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(file));
String line;
while ((line = reader.readLine()) != null) {
lines.add(line);
}
} catch (IOException io) {
//XXX
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException ioe) {
//XXX
}
}
}
return lines.iterator();
}
public String toString() {
return this.file.toString();
}
}